#define _CRT_SECURE_NO_WARNINGS 1


//class Solution {
//public:
//    int minOperations(vector<int>& nums, int x) {
//        int sum = 0, ret = -1, n = nums.size(), targe;
//        for (auto a : nums) sum += a;
//        targe = sum - x;
//
//        if (targe < 0)
//            return -1;
//
//        for (int left = 0, right = 0, temp = 0; right < n; right++)
//        {
//            temp += nums[right];
//            while (temp > targe)
//            {
//                temp -= nums[left];
//                left++;
//            }
//            if (temp == targe)
//                ret = max(ret, (right - left + 1));
//        }
//        if (ret == -1) return -1;
//        else return (n - ret);
//    }
//};
//
//class Solution {
//public:
//    int longestOnes(vector<int>& nums, int k) {
//        int len = 0, zero = 0, left = 0, right = 0, n = nums.size();
//        for (; right < n; right++)
//        {
//            if (nums[right] == 0) zero++;
//            while (zero > k)
//            {
//                if (nums[left] == 0) zero--;
//                left++;
//            }
//            len = max(len, (right - left + 1));
//        }
//
//        return len;
//
//    }
//};
//
//class Solution {
//public:
//    int lengthOfLongestSubstring(string s) {
//
//        int n = s.size(), len = 0;
//        int hash[128] = { 0 };
//        for (int left = 0, right = 0; right < n; right++)
//        {
//            hash[s[right]]++;
//            while (hash[s[right]] == 2)
//            {
//                hash[s[left++]]--;
//            }
//            len = max(len, (right - left + 1));
//        }
//
//        return len;
//
//    }
//};
//
//class Solution {
//public:
//    int minSubArrayLen(int target, vector<int>& nums) {
//        int len = INT_MAX, sum = 0, n = nums.size();
//        for (int left = 0, right = 0; right < n; right++)
//        {
//            sum += nums[right];
//            while (sum >= target)
//            {
//                len = min(len, (right - left + 1));
//                sum -= nums[left];
//                left++;
//            }
//        }
//
//        return (len == INT_MAX ? 0 : len);
//
//
//
//
//    }
//};